]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
dash: Avoid "zoom" effect when first shown
authorFlorian Müllner <fmuellner@gnome.org>
Wed, 2 Feb 2011 15:44:07 +0000 (16:44 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Wed, 9 Feb 2011 21:16:45 +0000 (22:16 +0100)
The dash is created empty and the initial set of items is added
before it's shown for the first time. As the additions of items
is now animated, this results in a slightly odd effect when all
items zoom in at once. So special-case the first time _redisplay()
is called and skip animations in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=636156

js/ui/dash.js

index 975d794eb3fec0e6585f7ebda54dcdc3b676e158..6417ebb01ddd5a0313c7380d4e85a005c109b327 100644 (file)
@@ -250,6 +250,7 @@ Dash.prototype = {
     _init : function() {
         this._maxHeight = -1;
         this._iconSize = 48;
+        this._shownInitially = false;
 
         this._dragPlaceholder = null;
         this._dragPlaceholderPos = -1;
@@ -564,6 +565,13 @@ Dash.prototype = {
         if (this._favRemoveTarget && this._favRemoveTarget.hiding)
             this._favRemoveTarget.actor.show();
 
+        // Skip animations on first run when adding the initial set
+        // of items, to avoid all items zooming in at once
+        if (!this._shownInitially) {
+            this._shownInitially = true;
+            return;
+        }
+
         for (let i = 0; i < removedActors.length; i++) {
             removedActors[i].show();
             let item = removedActors[i]._delegate;